/*
 * Monoid.h
 *
 *  Created on: May 13, 2012
 *      Author: kobe
 */

#ifndef MONOID_H_
#define MONOID_H_

#include "Proposition.h"
#include "Agent.h"
#include "Util.h"

class Monoid: public Proposition {
public:
	Monoid(std::string);
	Monoid(Proposition*, Proposition*);
	virtual ~Monoid();
	std::string toString();
	std::string toLatex();
	bool compare(Proposition* );
    Proposition *getLeft() const;
    Proposition *getRight() const;
    bool isAction();

private:
	Proposition* mLeft;
	Proposition* mRight;
};

#endif /* MONOID_H_ */
